package mysql8学习.高级.第15章_锁;

public class C_A0_从数据操作类型划分读写锁 {
}
/**
 * 3.1从数据操作的类型划分:读锁、写锁
 * 对于数据库中并发事务的读-读情况并不会引起什么问题。
 * 对于写-写、读-写 或写-读这些情况可能会引起一些
 * 问题，需要使用MVCC或者加锁的方式来解决它们。
 * 在使用加锁的方式解决问题时，由于既要允许读-读情况不受影响，
 * 又要使写-写、读-写或写-读情况中的操作相互阻塞，
 * 所以MySQL实现一个由两种类型的锁组成的锁系统来解决。
 * 这两种类型的锁通常被称为
 *      共享锁(Shared Lock, S Lock)和排他锁(Exclusive Lock, X Lock)，
 *          也叫读锁(read lock) 和写锁(write lock)。
 * ● 读锁:也称为共享锁，英文用s表示。针对同一份数据，
 *  多个事务的读操作可以同时进行而不会互相影响，相互不阻塞的。
 * ● 写锁:也称为排他锁、英文用X表示。当前写操作没有完成前，它会阻断其他写锁和读锁。
 *  这样就能确保在、给定的时间里，只有一个事务能执行写入，并防止其他用户读取正在写入的同一资源。
 *
 * 需要注意的是对于InnoDB引擎来说，读锁和写锁可以加在表上,也可以加在行上。
 * 总结:这里的兼容是指对同一张表或记录的锁的兼容性情况。
 *
 */